<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ValidadorUtilFF
 *
 * @author josem
 */
class ValidadorUtilFF {
    public static function is_wp_info($thing) {
        LogUtilFF::info("class ValidadorUtilFF", "is_wp_info");
	if ( is_object($thing) && is_a($thing, 'WP_Info') )
		return true;
	return false;
    }

    public static function is_empty_error($thing){        
        if($thing->get_error_code()){            
            return false;
        }        
        return true;
    }

    public static function validarTextoVacio($errors, $name, $message){        
        if(isset($_POST[$name])){            
            if(!empty($_POST[$name]) && trim($_POST[$name])!="" ){                
                return true;
            }else{                
                UtilFF::agregarError($errors, $name, $message);
            }
        }        
        return false;
    }
    
    public static function validarCampoNoIngresado($name){        
        if(isset($_POST[$name])){            
            if(empty($_POST[$name]) && trim($_POST[$name])=="" ){                
                return true;
            }
        }        
        return false;
    }
    
    public static function validarComboVacio($errors, $name, $message){
        LogUtilFF::info("class ValidadorUtilFF", "validarComboVacio");
        if(isset($_POST[$name])){
            if($_POST[$name]!=""){
                return true;
            }else{
               UtilFF::agregarError($errors, $name, $message);
            }
        }
        return false;
    }
    
    public static function validarCasillaVerificacionMarcada($errors, $name, $message){
        LogUtilFF::info("class ValidadorUtilFF", "validarCasillaVerificacionMarcada");
        if(isset($_POST[$name])){
            return true;
        }else{
            UtilFF::agregarError($errors, $name, $message);
        }
        return false;
    }
    
    public static function validarTipoDatoInput($errors, $name, $tipo, $message) {
        LogUtilFF::info("class ValidadorUtilFF", "validarTipoDatoInput");
        $flag='false';
        if(isset($_POST[$name])){
            if(!empty($_POST[$name])){
                switch ($tipo) {
                    case 'entero':
                      LogUtilFF::info("class ValidadorUtilFF", "validarTipoDatoInput:entero");
                      if(trim($_POST[$name])==strval(intval(trim($_POST[$name])))) {
                        $flag='true';
                      } else {
                        UtilFF::agregarError($errors, $name, $message);
                      }
                      break;

                    case 'float':
                      LogUtilFF::info("class ValidadorUtilFF", "validarTipoDatoInput:float");
                      if(trim($_POST[$name])==strval(floatval(trim($_POST[$name])))) {
                        $flag='true';
                      } else {
                        UtilFF::agregarError($errors, $name, $message);
                      }
                      break;                    

                      case 'positivo':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:positivo ".$_POST[$name]);
                      if ($_POST[$name]>0 ) {
                           $flag='true';
                      } else {
                           UtilFF::agregarError($errors, $name, $message);
                      }
                      break;         
                      
                      //--actualizados
                      case 'alfabetico':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:alfabetico ".$_POST[$name]);
                      if ( preg_match("/^[A-Za-zñÑá-úÁ-Ú]+([A-Za-zñÑá-úÁ-Ú]+)*$/", trim($_POST[$name] ))==1 ) {
                          $flag='true';
                      } else {
                          UtilFF::agregarError($errors, $name, $message);
                      }
                      break;
                      
                      case 'alfabetico_ce':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:alfabetico ".$_POST[$name]);
                      if ( preg_match("/^[A-Za-zñÑá-úÁ-Ú]+(\s[A-Za-zñÑá-úÁ-Ú]+)*$/", trim($_POST[$name] ))==1 ) {
                          $flag='true';
                      } else {
                          UtilFF::agregarError($errors, $name, $message);
                      }
                      break;
                      
                      case 'fecha':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:fecha ".$_POST[$name]);
                      if ( preg_match("/(0[1-9]|[12][0-9]|3[01])[-.](0[1-9]|1[012])[-.]\d\d$/", trim($_POST[$name] ))==1 ) {
                          $flag='true';
                      } else {
                          UtilFF::agregarError($errors, $name, $message);
                      }
                      break;
                      
                      case 'numerico':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:numerico ".$_POST[$name]);
                      if ( preg_match("/^\d*$/", trim($_POST[$name] ))==1 ) {                          
                          $flag='true';
                      } else {
                          UtilFF::agregarError($errors, $name, $message);
                      }
                      break;
                      
                      case 'alfanumerico':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:alfanumerico ".$_POST[$name]);
                      if ( preg_match("/^[A-Za-zñÑ0-9á-úÁ-Ú]+([A-Za-zñÑ0-9á-úÁ-Ú]+)*$/", trim($_POST[$name] ))==1 ) {
                          $flag='true';
                      } else {
                          UtilFF::agregarError($errors, $name, $message);
                      }
                      break;
                      
                      case 'alfanumerico_ce':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:alfanumerico_ce ".$_POST[$name]);
                      if ( preg_match("/^[A-Za-zñÑ0-9á-úÁ-Ú]+(\s[A-Za-zñÑ0-9á-úÁ-Ú]+)*$/", trim($_POST[$name] ))==1 ) {
                          $flag='true';
                      } else {
                          UtilFF::agregarError($errors, $name, $message);
                      }
                      break;
                      
                      case 'email':
                      LogUtilFF::debug("class ValidadorUtilFF", "validarTipoDatoInput:email ".$_POST[$name]);
                      if ( preg_match("/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$/", trim($_POST[$name] ))==1 ) {
                           $flag='true';
                      } else {
                           UtilFF::agregarError($errors, $name, $message);
                      }
                      break;
                 }
                 if($flag=='true') return true;
            }
            return false;
        }
        return false;
    }
    
    public static function validarCamposIguales($errors, $name1, $name2, $message) {
        LogUtilFF::info("class ValidadorUtilFF", "validarCamposIguales");
        $flag='false';
        if( isset($_POST[$name1]) && isset($_POST[$name2])) {
            if( !empty($_POST[$name1]) && !empty($_POST[$name2]) ){
                if ( trim($_POST[$name1] ) == trim($_POST[$name2] ) ) {
                    $flag='true';
                } else {
                    UtilFF::agregarError($errors, $name1, $message);
                }
                if($flag=='true') return true;
            }
            return false;
        }
        return false;
    }
    
    public static function validarCamposDiferentes($errors, $name1, $name2, $message) {
        LogUtilFF::info("class ValidadorUtilFF", "validarCamposDiferentes");
        $flag='false';
        if( isset($_POST[$name1]) && isset($_POST[$name2])) {
            if( !empty($_POST[$name1]) && !empty($_POST[$name2]) ){
                if ( trim($_POST[$name1] ) != trim($_POST[$name2] ) ) {
                    $flag='true';
                } else {
                    UtilFF::agregarError($errors, $name1, $message);
                }
                if($flag=='true') return true;
            }
            return false;
        }
        return false;
    }
    
    public static function verificarError($data, $code){
        LogUtilFF::info("class ValidadorUtilFF", "is_empty_error");
        if($data!=null){
                if($data->get_error_message($code) != null){	        	
	            return true;
	        }
        }
        return false;
    }
    
    public static function validarFechaLaboralSeleccionada($errors, $name, $message){
        LogUtilFF::info("class ValidadorUtilFF", "validarFechaLaboralSeleccionada");
        if(isset($_POST[$name])){
            $strtotime = strtotime(UtilFF::girarFecha($_POST[$name]));
            $date = date('N', $strtotime);
            if(!($date==6 || $date==7)){
                return true;
            }else{
                UtilFF::agregarError($errors, $name, $message);
            }            
        }else{
            UtilFF::agregarError($errors, $name, $message);
        }
        return false;
    }
}
?>
